import { IMessageBase } from "../../Framework/MQ/IMessageBase";
import { MessageManager } from "../../Framework/MQ/MessageManager";
import { SerializeStream } from "../../Framework/Serialize/SerializeStream";
import { DictIntIntHelper } from "../Public/DictIntIntHelper";
import { MapAcupointAttributesHelper } from "./MapAcupointAttributesHelper";
type int = number;
//class SAcupointInfo
    
    export  class SAcupointInfo extends IMessageBase
    {
        constructor(arg1: Boolean=false)
        {
            
            super();if (arg1) 
            {
                MessageManager.instance().regist(this);
            }
            return;
        }

        public /* override */ getType(): int
        {
            return this._type;
        }

        public /* override */ clone(): IMessageBase
        {
            return new SAcupointInfo();
        }

        public /* override */ __write(arg1: SerializeStream): void
        {
            arg1.writeInt(this.acupoint);
            arg1.writeInt(this.step);
            arg1.writeInt(this.leftTime);
            arg1.writeInt(this.breakThrough);
            arg1.writeInt(this.rootTargetBraekthrough);
            DictIntIntHelper.write(arg1, this.roots);
            DictIntIntHelper.write(arg1, this.savvys);
            DictIntIntHelper.write(arg1, this.rootEffects);
            DictIntIntHelper.write(arg1, this.rootBreakThroughs);
            MapAcupointAttributesHelper.write(arg1, this.attributes);
            return;
        }

        public /* override */ __read(arg1: SerializeStream): void
        {
            this.acupoint = arg1.readInt();
            this.step = arg1.readInt();
            this.leftTime = arg1.readInt();
            this.breakThrough = arg1.readInt();
            this.rootTargetBraekthrough = arg1.readInt();
            this.roots = DictIntIntHelper.read(arg1);
            this.savvys = DictIntIntHelper.read(arg1);
            this.rootEffects = DictIntIntHelper.read(arg1);
            this.rootBreakThroughs = DictIntIntHelper.read(arg1);
            this.attributes = MapAcupointAttributesHelper.read(arg1);
            return;
        }

        public /* const */_type: int=12086;

        public /* var */acupoint: int;

        public /* var */step: int;

        public /* var */leftTime: int;

        public /* var */breakThrough: int;

        public /* var */rootTargetBraekthrough: int;

        public /* var */roots: Map<any, any> /* flash.utils.Dictionary */;

        public /* var */savvys: Map<any, any> /* flash.utils.Dictionary */;

        public /* var */rootEffects: Map<any, any> /* flash.utils.Dictionary */;

        public /* var */rootBreakThroughs: Map<any, any> /* flash.utils.Dictionary */;

        public /* var */attributes: Map<any, any> /* flash.utils.Dictionary */;

        public static /* var */_regist: SAcupointInfo;
    }

            SAcupointInfo._regist = new SAcupointInfo(true);
        